<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>作用域链</title>
</head>

<body>
    <p>
        总结：<br>

        1. 嵌套关系的作用域串联起来形成了作用域链<br>
        2. 相同作用域链中按着从小到大的规则查找变量<br>
        3. 子作用域能够访问父作用域，父级作用域无法访问子级作用域
    </p>

    <script>
        // 全局作用域
        let a = 1
        let b = 2

        // 局部作用域
        function f() {
            let c
            // let a = 10
            console.log(a); // 1 或 10
            // console.log(d); // 报错

            // 局部作用域
            function g() {
                let d = 'yo'
                let b = 20
                console.log(b); // 2 或 20

            }

            // 调用 g 函数
            g()
        }
        // console.log(c); // 报错
        // console.log(d); // 报错

        f()

    </script>
</body>

</html>